package com.bestcem.xm.user.controller.vo.user;


import com.bestcem.xm.user.controller.vo.group.UserGroupVO;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 账户详情
 *
 * @author Linzhijian <zhijian.lin@idiaoyan.com>
 * @version v1.0
 * @date 2022/5/13 11:36
 */
@Data
public class UserSelfVO {

    /**
     * id
     */
    @JsonProperty("id")
    private String userId;


    /**
     * 公司ID
     */
    @JsonProperty("orgID")
    private String orgId;

    /**
     * 登录用户名(全小写)
     */
    private String userName;

    /**
     * 用户姓名
     */
    private String name;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 电子邮箱地址
     */
    private String email;

    /**
     * 手机号码
     */
    @JsonProperty("mobile")
    private String phone;

    /**
     * 用户状态：【0：激活、1：活动、2：禁用】，默认0
     */
    private Integer status;

    /**
     * 备注
     */
    private String content;

    /**
     * 个人首页：【0：问卷项目、1：工单记录、2：仪表盘、3：企业管理、4：客户旅程】
     */
    @JsonProperty("user_index")
    private Integer userIndex;

    /**
     * 版本：【0：免费版、1：企业版】，默认1
     */
    private Integer edition;

    /**
     * 是否展示引导页
     */
    @JsonProperty("show_introduction")
    private Boolean showGuide;

    /**
     * 引导读取记录
     */
    @JsonProperty("guide")
    private List<String> guide;

    /**
     * 是否展示版本升级公告
     */
    @JsonProperty("show_version")
    private Boolean showVersion;

    /**
     * 是否同意用户协议
     */
    @JsonProperty("is_accept")
    private Boolean acceptFlag;

    /**
     * 是否是内部用户
     */
    @JsonProperty("is_inner_user")
    private Boolean innerFlag;

    /**
     * 是否是因分享数据看板创建的用户
     */
    @JsonProperty("is_bi_share")
    private Boolean biShareFlag;

    /**
     * 注册时ip
     */
    @JsonProperty("register_ip")
    private String registerIp;

    /**
     * 上次登录时间 default=now
     */
    @JsonProperty("last_login_time")
    private Date lastLoginTime;

    /**
     * 微信用户unionid
     */
    @JsonProperty("wx_unionid")
    private String wxUnionid;

    /**
     * 微信小程序用户openid
     */
    @JsonProperty("wx_openid")
    private String wxMiniOpenid;

    /**
     * 微信公众号用户openid
     */
    @JsonProperty("wx_offi_openid")
    private String wxOffiOpenid;

    /**
     * 微信用户昵称
     */
    @JsonProperty("wx_nickname")
    private String wxNickname;

    /**
     * 企业微信用户唯一id
     */
    @JsonProperty("wechatwork_userid")
    private String qyWxUserid;

    /**
     * 企业微信用户在第三方应用上面的id
     */
    @JsonProperty("wechatwork_open_userid")
    private String qyWxOpenUserid;

    /**
     * 企业微信用户昵称
     */
    @JsonProperty("wechatwork_name")
    private String qyWxName;

    /**
     * 飞书用户唯一识别码
     */
    @JsonProperty("fs_union_id")
    private String fsUnionId;

    /**
     * 飞书商店用户open_id
     */
    @JsonProperty("fs_open_id")
    private String fsOpenId;

    /**
     * 飞书用户昵称
     */
    @JsonProperty("fs_name")
    private String fsName;

    /**
     * 钉钉用户userid
     */
    @JsonProperty("ding_userid")
    private String dingUserid;

    /**
     * 钉钉用户unionid
     */
    @JsonProperty("ding_unionid")
    private String dingUnionid;

    /**
     * 钉钉用户昵称
     */
    @JsonProperty("ding_name")
    private String dingName;

    /**
     * sso用户标识
     */
    @JsonProperty("sso_name")
    private String ssoName;

    /**
     * 静默登录id
     */
    @JsonProperty("silent_id")
    private String silentId;


    private List<UserGroupVO> groups;


    /**
     * 是否是系统管理员
     */
    @JsonProperty("super")
    private Boolean isSuper;

    /**
     * 是否是高级管理员
     */
    @JsonProperty("is_senior")
    private Boolean isSenior;

    /**
     * 是否密码
     */
    @JsonProperty("has_password")
    private Boolean hasPassword;

    /**
     * 首页
     */
    @JsonProperty("role_index")
    private Integer roleIndex;

    /**
     * 角色名列表
     */
    @JsonProperty("role_list")
    private List<String> roleList;



}
